home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / WINDOWS / MLNK103.ARJ / HOST.MSL < prev    next >
Text File  |  1992-04-08  |  14KB  |  434 lines

  1. ' Host mode script
  2. ' Access levels are:    3 - Sysop
  3. '                       2 - user can access any directory
  4. '                       1 - user can access only current directory
  5. PUSH
  6. SET ECHO ON
  7. SET TEXTWRAP ON
  8. SET CARRIERDETECT ON
  9. SET HOSTECHO ON
  10. SET INCRLF ON
  11. SET OUTCRLF ON
  12.  
  13. upload_dir$ = uploaddirectory
  14. default_dir$ = defaultdirectory
  15. file_spec$ = filespec
  16.  
  17.  
  18. cr$ = "^M"
  19. cr2$ = "^M^M"
  20. cr3$ = "^M^M^M"
  21. cr4$ = "^M^M^M^M"
  22. cr5$ = "^M^M^M^M^M"
  23. newpage$ = cr5$+cr5$+cr5$+cr5$+cr5$
  24.  
  25. Header$   = "                   Host Mode"
  26.  
  27. welcome1$ = "                 ***********************************"+cr$
  28. welcome2$ = "                 *        Microlink Host Mode      *"+cr$
  29. welcome3$ = "                 *      Press ENTER to Continue    *"+cr$
  30. welcome4$ = "                 ***********************************"+cr5$
  31.  
  32. continue = 1
  33. max_lines = 20
  34.  
  35.  
  36. WHILE continue=1
  37.     if ChangeDirectory(default_dir$) > 0 then
  38.       mprint "Invalid default directory"
  39.       beep
  40.       sleep 5
  41.       continue = 0
  42.       GOTO force_hangup
  43.     endif
  44.  
  45.     current_dir$ = default_dir$
  46.  
  47.     ONERROR force_hangup
  48.     AUTOANSWER
  49.     ' Computer answered phone
  50.  
  51.     sleep 4
  52.     IF Connected = 0 Then
  53.      goto force_hangup
  54.     endif
  55.     RPRINT newpage$
  56.     RPRINT welcome1$
  57.     RPRINT welcome2$
  58.     RPRINT welcome3$
  59.     RINPUT welcome4$,temp$
  60.     Rprint cr4$
  61.  
  62.     ' Prompts to enter password
  63.     logon_ok = 0
  64.     set error off
  65.     FOR i = 1 TO 3
  66.         onerror skipsignon
  67.         RINPUT cr$+"Enter FIRST name: ", first$
  68.         RINPUT cr$+"Enter LAST name: ", last$
  69.         SET HOSTECHO OFF
  70.         RINPUT cr$+"Enter PASSWORD: ", password$
  71.         set error off
  72.         SET HOSTECHO ON
  73.         logon_ok = VerifyUser(first$, last$, password$)
  74.           IF logon_ok > 1  THEN
  75.             IF OPENHOST = 1 THEN
  76.                 onerror skipnew
  77.                    rprint cr2$+"              N E W   U S E R"+cr2$
  78.                 Rprint cr$+"First Name: "+first$
  79.                    Rprint cr$+"Last Name: "+last$
  80.                    RINPUT cr$+"Correct? ", Temp$
  81.                    logon_ok = 0
  82.                    IF upper(Temp$) = "Y" THEN
  83.                      IF Adduser(first$, last$, password$, 1) > 0 THEN
  84.                            RPRINT cr2$+"Unable To Add User At This Time"
  85.                            logon_ok = 1
  86.                      ENDIF
  87.                      EXIT
  88.                 ENDIF
  89.                 skipnew:
  90.               ELSE
  91.                  RPRINT cr2$+"Invalid logon attempt!"
  92.                   IF i < 3 THEN
  93.                      RPRINT cr$+"There are " + String(3 - i) + " attempts left."
  94.                 ENDIF
  95.               ENDIF
  96.         ELSE
  97.          IF logon_ok = 1  THEN
  98.             RPRINT cr$+"Invalid logon attempt!"
  99.             IF i < 3 THEN
  100.               RPRINT cr$+"There are " + String(3 - i) + " attempts left." + cr$
  101.             ENDIF
  102.          ELSE
  103.            EXIT
  104.          ENDIF
  105.         ENDIF
  106.         skipsignon:
  107.     NEXT
  108.  
  109.     IF logon_ok > 0 THEN
  110.         RPRINT cr2$+"Unable to validate user!"
  111.         RPRINT cr2$+"Hanging up!"
  112.         continue_commands = 0
  113.     else
  114.         continue_commands = 1
  115.         access_level = ExtractUserLevel(first$, last$)
  116.         rprint cr4$
  117.     endif
  118.     WHILE continue_commands = 1
  119.         if Connected = 0 then
  120.                EXIT
  121.         endif
  122.         RPRINT cr2$+"         Host Mode Processor"+cr2$
  123.         RPRINT cr$ + "[F]File Directory    [D]Download    [U]Upload"
  124.                  ' Level 2 or 3
  125.         IF access_level > 1  THEN
  126.             RPRINT cr$ + "[CD]Change Directory [FS]File Specification"
  127.         ENDIF
  128.  
  129.         ' Level 3 only
  130.         IF access_level > 2 then
  131.             RPRINT cr$ + "[AU]Add User         [CU]Change User"
  132.             RPRINT cr$ + "[DU]Delete User      [S]ShutDown"
  133.         ENDIF
  134.  
  135.         RPRINT cr$ + "[G]Goodbye"
  136.  
  137.         ' Wait for command
  138.         RINPUT cr2$+current_dir$ + "> ", tempcommand$
  139.         command$ = upper(tempcommand$)
  140.  
  141.         ' Exit System
  142.         if len(command$) = 1 then
  143.             IF command$ = "G"  THEN
  144.                 RPRINT cr$ + "Thanks for calling " + first$ + "!" + cr$
  145.                 continue_commands = 0
  146.                 SLEEP 2
  147.             ENDIF
  148.  
  149.                     ' List Files
  150.             IF command$ = "F" THEN
  151.                 RPRINT cr4$
  152.                 RPRINT "Directory listing of: " + current_dir$ + cr2$
  153.                 ChangeDirectory(current_dir$)
  154.                    filename$ = GetFirstDirEntry(current_dir$, file_spec$)
  155.                 WHILE Len(filename$) > 0
  156.                     IF Connected = 0 Then
  157.                            EXIT
  158.                     endif
  159.                     FOR i = 1 to max_lines
  160.                         RPRINT filename$ + cr$
  161.                         filename$ = GetNextDirEntry()
  162.                         IF Len(filename$) = 0 THEN
  163.                             EXIT
  164.                         ENDIF
  165.                     NEXT
  166.                     IF LEN(filename$) > 0 THEN
  167.                           Rinput cr$+"List paused.  Press ENTER to continue.",temp$
  168.                           IF "C" = upper(temp$) THEN
  169.                                exit
  170.                             ENDIF
  171.                             rprint cr4$
  172.                     ENDIF
  173.                 WEND
  174.  
  175.                 RINPUT cr$+"End of List.   Press ENTER to Continue",temp$
  176.                 rprint cr4$
  177.             ENDIF
  178.  
  179.             ' Download a File
  180.             IF command$ = "D" THEN
  181.                 rprint cr4$
  182.                 WHILE 1 = 1
  183.                     IF Connected = 0 Then
  184.                            EXIT
  185.                     endif
  186.                     RPRINT cr$+Header$+cr3$
  187.                     RPRINT cr$+"Available download file transfer protocols:" + cr2$
  188.                     RPRINT "[X]..XMODEM Checksum" + cr$
  189.                     RPRINT "[C]..XMODEM CRC" + cr$
  190.                     RPRINT "[Y]..YMODEM 1K" + cr$
  191.                     RPRINT "[YB].YMODEM Batch" + cr$
  192.                     RPRINT "[YG].YMODEM G" + cr$
  193.                     RPRINT "[Z]..ZMODEM" + cr$
  194.                     RPRINT "[E]..Cancel" + cr$
  195.                     RINPUT "Select protocol: ", tempchoice$
  196.                     choice$ = upper(tempchoice$)
  197.                     if len(choice$) = 1 then
  198.                           IF choice$ = "E" THEN
  199.                             EXIT
  200.                         ENDIF
  201.                         IF choice$ = "X" THEN
  202.                             set protocol XMODEM
  203.                             EXIT
  204.                         ENDIF
  205.                         IF choice$ = "C" THEN
  206.                             set protocol XMODEMCRC
  207.                             EXIT
  208.                         ENDIF
  209.                         IF choice$ = "Y" THEN
  210.                             set protocol YMODEM
  211.                             EXIT
  212.                         ENDIF
  213.                         IF choice$ = "Z" THEN
  214.                             set protocol ZMODEM
  215.                             EXIT
  216.                         ENDIF
  217.                     endif
  218.                     if len(choice$) = 2 then
  219.                         IF choice$ = "YB" THEN
  220.                             set protocol YMODEMB
  221.                             EXIT
  222.                         ENDIF
  223.                         IF choice$ = "YG" THEN
  224.                             set protocol YMODEMG
  225.                             EXIT
  226.                         ENDIF
  227.                     ENDIF
  228.                     rprint cr2$+"Invalid Selection"+cr2$
  229.                 WEND
  230.                    IF choice$ = "E" THEN
  231.                     rprint "Canceled!"+cr$
  232.                    ELSE
  233.                        ChangeDirectory(current_dir$)
  234.                       RINPUT cr2$+"Enter Filename: ", transfer_file$
  235.                       is_ok = DoesFileExist(transfer_file$)
  236.                       IF is_ok = 1 THEN
  237.                          RPRINT cr$+"File " + transfer_file$ + " was not found." + cr$
  238.                          RPRINT "File transfer canceled!" + cr$
  239.                       ELSE
  240.                          RPRINT cr$+"Downloading " + transfer_file$ + cr$
  241.                          ONERROR snderr
  242.                         SEND transfer_file$
  243.                         sleep 3
  244.                          rprint cr$+"File Transfer Successful"
  245.                          goto sndok
  246.                          snderr:
  247.                               rprint cr2$+"Error Downloading File"
  248.                            rinput cr$+"Hit ENTER to Continue",temp$
  249.                          sndok:
  250.                          set error off
  251.                        ENDIF
  252.                    ENDIF
  253.             ENDIF
  254.         ' Receive a File
  255.             IF command$ = "U" THEN
  256.                 rprint cr4$
  257.                 WHILE 1 = 1
  258.                     IF Connected = 0 Then
  259.                            EXIT
  260.                     endif
  261.                     RPRINT cr$+Header$+cr3$
  262.                     RPRINT "Available Upload file transfer protocols:" + cr2$
  263.                     RPRINT "[X]..XMODEM Checksum" + cr$
  264.                     RPRINT "[C]..XMODEM CRC" + cr$
  265.                     RPRINT "[Y]..YMODEM 1K" + cr$
  266.                     RPRINT "[YB].YMODEM Batch" + cr$
  267.                     RPRINT "[YG].YMODEM G" + cr$
  268.                     RPRINT "[Z]..ZMODEM" + cr$
  269.                     RPRINT "[E]..Exit" + cr$
  270.                     RINPUT "Select protocol: ", tempchoice$
  271.                     choice$ = upper(tempchoice$)
  272.                     if len(choice$) = 1 then
  273.                           IF choice$ = "E" THEN
  274.                             EXIT
  275.                         ENDIF
  276.                         IF choice$ = "X" THEN
  277.                             set protocol XMODEM
  278.                             RINPUT cr$+"Enter Filename: ", transfer_file$
  279.                             is_ok = ValidFileName(transfer_file$)
  280.                             EXIT
  281.                         ENDIF
  282.                         IF choice$ = "C" THEN
  283.                             set protocol XMODEMCRC
  284.                             RINPUT cr$+"Enter Filename: ", transfer_file$
  285.                             is_ok = ValidFileName(transfer_file$)
  286.                             EXIT
  287.                         ENDIF
  288.                         IF choice$ = "Y" THEN
  289.                             set protocol YMODEM
  290.                             RINPUT cr$+"Enter Filename: ", transfer_file$
  291.                             is_ok = ValidFileName(transfer_file$)
  292.                             EXIT
  293.                         ENDIF
  294.                         IF choice$ = "Z" THEN
  295.                             set protocol ZMODEM
  296.                             transfer_file$ = ""
  297.                             is_ok = 1
  298.                             EXIT
  299.                         ENDIF
  300.                     ENDIF
  301.                     if len(choice$) = 2 then
  302.                         IF choice$ = "YB" THEN
  303.                             set protocol YMODEMB
  304.                             transfer_file$ = ""
  305.                             is_ok = 1
  306.                             EXIT
  307.                         ENDIF
  308.                         IF choice$ = "YG" THEN
  309.                             set protocol YMODEMG
  310.                             transfer_file$ = ""
  311.                             is_ok = 1
  312.                             EXIT
  313.                         ENDIF
  314.                     ENDIF
  315.                     rprint cr2$+"Invalid Selection"+cr2$
  316.                 WEND
  317.                   IF choice$ = "E" THEN
  318.                       rprint cr$+"Canceled"+cr$
  319.                   ELSE
  320.                     IF is_ok = 0 THEN
  321.                         RPRINT "File " + transfer_file$ + " was not valid." + cr$
  322.                         RPRINT "File transfer canceled!" + cr$
  323.                     ELSE
  324.  
  325.                         ChangeDirectory(upload_dir$)
  326.                          ONERROR rcverr
  327.                         RPRINT "Uploading " + transfer_file$ +cr$
  328.                         RPRINT cr$+"Start Your File Transfer"+cr$
  329.                         RECEIVE transfer_file$
  330.                         sleep 3
  331.                         RPRINT cr$+"File Transfer Successful"+cr$
  332.                         GOTO rcvok
  333.                         rcverr:
  334.                           Rprint "Error Uploading File - "+transfer_file$+cr$
  335.                           rinput "Hit Enter to Continue",temp$
  336.                         rcvok:
  337.                         ChangeDirectory(current_dir$)
  338.                         set error off
  339.                     ENDIF
  340.                   ENDIF
  341.             ENDIF
  342.             IF command$ = "S" THEN
  343.                 RPRINT cr$+"Shutdown Initiated"
  344.                 continue = 0
  345.                 continue_commands = 0
  346.             ENDIF
  347.  
  348.         ' Change Directory
  349.         ENDIF
  350.         if len(command$) = 2 then
  351.              IF command$ = "CD" THEN
  352.                 IF access_level > 1 THEN
  353.                     RINPUT cr$+"Enter New Directory: ", new_dir$
  354.                     is_ok = ChangeDirectory(new_dir$)
  355.                     if is_ok = 0 then
  356.                         current_dir$ = new_dir$
  357.                     ELSE
  358.                         RPRINT cr2$+"Unable to change to directory!"
  359.                     ENDIF
  360.                 ENDIF
  361.             ENDIF
  362.  
  363.             IF command$ = "FS" Then
  364.                    RPRINT cr2$+"Current File Specification is "+file_spec$+cr$
  365.                    RINPUT cr$+"Enter New File Specification: ", file_spec$
  366.                    IF LEN(file_spec$) = 0 THEN
  367.                       file_spec$ = filespec
  368.                    ENDIF
  369.             ENDIF
  370.         ' Add a New User
  371.             IF command$ = "AU" THEN
  372.                 IF access_level > 2 THEN
  373.                     rprint cr4$
  374.                     RPRINT cr$+Header$+cr$
  375.                     RPRINT  "Add a new user." + cr$
  376.                     RINPUT cr$+"Enter new user's First name: ", new_first$
  377.                     RINPUT cr$+"Enter new user's Last name: ", new_last$
  378.                     RINPUT cr$+"Enter new user's Password: ", new_password$
  379.                     RINPUT cr$+"Enter new user's Access level: ", new_level$
  380.                     iLevel = val(new_level$)
  381.                     is_ok = AddUser(new_first$, new_last$, new_password$, iLevel)
  382.                     IF is_ok > 0 THEN
  383.                         RPRINT cr$+"Unable to add user record!" + cr$
  384.                     ELSE
  385.                         RPRINT cr$+new_first$+" "+new_last$+" added to datafile." + cr$
  386.                     ENDIF
  387.                 ENDIF
  388.             ENDIF
  389.  
  390.         ' Change an Existing User
  391.             IF command$ = "CU" THEN
  392.                 IF access_level > 2 THEN
  393.                     rprint cr4$
  394.                     RPRINT cr$+Header$+cr$
  395.                     RPRINT  "Change an existing user." + cr$
  396.                     RINPUT cr$+"Enter user's First name: ", new_first$
  397.                     RINPUT cr$+"Enter user's Last name: ", new_last$
  398.                     RINPUT cr$+"Enter user's new Password or blank to skip: ", new_password$
  399.                     RINPUT cr$+"Enter new Access Level: ", new_level$
  400.                     iLevel = val(new_level$)
  401.                     is_ok = ChangeUser(new_first$, new_last$, new_password$, iLevel)
  402.                     IF is_ok > 0 THEN
  403.                         RPRINT cr$+"Unable to change user record!" + cr$
  404.                     ELSE
  405.                         RPRINT cr$+new_first$+" "+new_last$+ " access level changed."+cr$
  406.                     ENDIF
  407.                 ENDIF
  408.             ENDIF
  409.  
  410.         ' Delete an Existing User
  411.             IF command$ = "DU" THEN
  412.  
  413.                 IF access_level > 2 THEN
  414.                     rprint cr4$
  415.                     RPRINT cr$+Header$+cr$
  416.                     RPRINT  "Delete an existing user." + cr$
  417.                     RINPUT cr$+"Enter user's First name: ", new_first$
  418.                     RINPUT cr$+"Enter user's Last name: ", new_last$
  419.                     is_ok = DeleteUser(new_first$, new_last$)
  420.                     IF is_ok > 0 THEN
  421.                         RPRINT cr$+"Unable to delete user record!" + cr$
  422.                     ELSE
  423.                         RPRINT cr$+new_first$+" "+new_last$+" deleted." + cr$
  424.                     ENDIF
  425.                 ENDIF
  426.             ENDIF
  427.         ENDIF
  428.     WEND
  429.     force_hangup:
  430.         HANGUP
  431. WEND
  432. Mprint "Script Terminated"
  433. END
  434.